﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыПодразделений
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"460be683-c1e0-483c-929f-c20038fabf59\", \"Представление\":\"ОсновноеПроизводство\"}")]
		ОсновноеПроизводство = 0,//Основное производство
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"128f49f2-fad3-47f1-99ee-f1688f843bbe\", \"Представление\":\"ВспомогательноеПроизводство\"}")]
		ВспомогательноеПроизводство = 1,//Вспомогательное производство
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"8ff35b5c-e3f5-4f63-a454-d8175e99a26c\", \"Представление\":\"Прочее\"}")]
		Прочее = 2,
	}
	public static partial class ВидыПодразделений_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОсновноеПроизводство = new Guid("00c29f92-fa38-59bf-483c-c1e0460be683");//Основное производство
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВспомогательноеПроизводство = new Guid("68f1ee99-848f-be3b-47f1-fad3128f49f2");//Вспомогательное производство
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Прочее = new Guid("17d854a4-995e-6ca2-4f63-e3f58ff35b5c");
		public static ВидыПодразделений Получить(this ВидыПодразделений Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыПодразделений Получить(this ВидыПодразделений Значение, Guid Ссылка)
		{
			if(Ссылка == ОсновноеПроизводство)
			{
				return ВидыПодразделений.ОсновноеПроизводство;
			}
			else if(Ссылка == ВспомогательноеПроизводство)
			{
				return ВидыПодразделений.ВспомогательноеПроизводство;
			}
			else if(Ссылка == Прочее)
			{
				return ВидыПодразделений.Прочее;
			}
			return ВидыПодразделений.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыПодразделений Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыПодразделений Значение)
		{
			switch (Значение)
			{
				case ВидыПодразделений.ОсновноеПроизводство: return ОсновноеПроизводство;
				case ВидыПодразделений.ВспомогательноеПроизводство: return ВспомогательноеПроизводство;
				case ВидыПодразделений.Прочее: return Прочее;
			}
			return Guid.Empty;
		}
	}
}